package com.allo2o.shared.util;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Properties;

public class GetProperties {

	/**
	 * 读取配置文件的属性
	 * @author 张攀
	 * @param filePath
	 * @param property
	 * @return
	 */
	public String getProperties(String filePath, String property) {
//		这个是获取src下面的文件
		String param = null;
		Properties prop = new Properties();
		InputStream in = this.getClass().getResourceAsStream(filePath);
		try {
			prop.load(in);
			param = prop.getProperty(property).trim();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return param;
		
		
//		这个是获取web_inf下面的文件
//		try{  
//            String url = this.getClass().getResource("").getPath().replaceAll("%20", " ");  
//            String path = url.substring(0, url.indexOf("WEB-INF")) + "WEB-INF/password.properties";  
//            Properties config = new Properties();  
//            config.load(new FileInputStream(path));  
//            return config.getProperty(property);  
//        }  
//        catch(Exception e){  
//            e.printStackTrace();  
//        }  
//     return null;  
	}
	public void setProperties(String filePath, String property) {
		Properties pps = new Properties();
		try {
			InputStream in = this.getClass().getResourceAsStream(filePath);
			System.out.println(this.getClass());
		         //从输入流中读取属性列表（键和元素对） 
		         
					pps.load(in);
			
		         //调用 Hashtable 的方法 put。使用 getProperty 方法提供并行性。  
		         //强制要求为属性的键和值使用字符串。返回值是 Hashtable 调用 put 的结果。
		         OutputStream out = new FileOutputStream("/application.properties");
		         pps.setProperty("jdbc.username", "zmj2");
		         //以适合使用 load 方法加载到 Properties 表中的格式，  
		         //将此 Properties 表中的属性列表（键和元素对）写入输出流  
		         pps.store(out, "Update " + "jdbc.username" + " name");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}
